//vue
var app = new Vue({
    el: '#app',
    data: {
        order_sn: "",//订单号
        trace_no: "",//溯源码
        remark: "",//备注
        message: "",
        hasInfo: true,//判断是否有信息
        indentInfo: {},//订单信息
        storeInfo: {},//商家信息
        add_time: "",//下单时间
        loading: null,//loading

    },

    created() {
        var _this = this;
        _this.getTraceNo();
        _this.getIndentInfo();
    },

    beforeMount() {

    },
    mounted() {
        console.log('mounted.....');

    },
    methods: {

        //获取溯源码
        getTraceNo() {
            var _this = this;
            _this.trace_no = _this.getUrlParam('trace_no');
        },

        //获取订单信息
        getIndentInfo() {
            var _this = this;
            $.ajax({
                url: 'http://api.ysmove.com/order/trace-show',
                data: {
                    trace_no: _this.trace_no
                },
                type: 'get',
                dataType: 'json',
                success: function (data) {
                    _this.$indicator.close();
                    if (data.success == true) {
                        _this.hasInfo = true;
                        _this.indentInfo = data.data;
                        _this.storeInfo = data.data.store_info;
                        _this.dealData();
                    } else {
                        _this.hasInfo = false;
                        _this.message = '未查询到相关信息，请先关联订单';
                    }
                },
                error: function (err) {
                    _this.$indicator.close();
                    _this.$toast('请求出错');
                },
                beforeSend: function () {
                    _this.loading = _this.$indicator.open('加载中');
                }
            })
        },

        //提交
        submitBtn() {
            var _this = this;

            if (_this.order_sn == "") {
                _this.$messagebox('提示', '订单号不能为空');
                return false;
            }

            $.ajax({
                url: 'http://api.ysmove.com/order/trace',
                data: {
                    order_sn: _this.order_sn,
                    trace_no: _this.trace_no,
                    remark: _this.remark
                },
                type: 'post',
                dataType: 'json',
                success: function (data) {
                    _this.$indicator.close();
                    if (data.success == true) {
                        //已有信息
                        _this.hasInfo = true;
                        _this.indentInfo = data.data;
                        _this.storeInfo = data.data.store_info;
                        _this.dealData();
                    } else {
                        _this.$toast('找不到匹配信息，请尝试重新输入订单号');
                    }
                },
                error: function (err) {
                    _this.$indicator.close();
                    _this.$toast('请求出错');
                },
                beforeSend: function () {
                    _this.loading = _this.$indicator.open('提交中');
                }
            })

        },

        //重置
        resetBtn() {
            var _this = this;
            _this.order_sn = "";
            _this.remark = "";
        },

        //数据处理
        dealData() {
            var _this = this;
            var add_time = _this.indentInfo.add_time * 1000;//毫秒
            _this.indentInfo.add_time = _this.format(add_time, 'yyyy-MM-dd HH:mm:ss');

            // 测试2个商品
            // _this.indentInfo.items.push(_this.indentInfo.items[0]);

        },

        //获取url参数
        getUrlParam(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
            var r = window.location.search.substr(1).match(reg);  //匹配目标参数
            if (r != null) return decodeURI(r[2]);
            return null; //返回参数值
        },

        //时间转换
        format(time, format) {
            var t = new Date(time);
            var tf = function (i) {
                return (i < 10 ? '0' : '') + i
            };
            return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
                switch (a) {
                    case 'yyyy':
                        return tf(t.getFullYear());
                        break;
                    case 'MM':
                        return tf(t.getMonth() + 1);
                        break;
                    case 'mm':
                        return tf(t.getMinutes());
                        break;
                    case 'dd':
                        return tf(t.getDate());
                        break;
                    case 'HH':
                        return tf(t.getHours());
                        break;
                    case 'ss':
                        return tf(t.getSeconds());
                        break;
                }
                ;
            });
        }

    }
})